<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    // 1 函数声明
    // function Identifier ( FormalParameterList[opt] ) { FunctionBody }
    // ECMAScript规范明确了一点，即是，即函数声明 必须始终带有一个标识符（Identifier），也就是我们所说的函数名，而函数表达式则可以省略。
    // function fn() {
    //     console.log("fn")
    // }
    // fn()
   
    // // 2 函数表达式
    // fn1()
    // var fn1 = function() {
    //     console.log("fn1")
    // }
    // 函数与解析
    // 声明变量和函数声明一起提升
    function fn() {
        console.log("fn")
    }
    var fn1;
    fn()
    fn1()   //未定义
    fn1 = function() {
        console.log("fn1")
    }
    
    </script>
</body>
</html>